<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
/**
*  \file        Omc_interfaces.arxml
*
*  \brief       BMW SWC OMC
*
*  This file is a template for the software component description file
*  for usage in the BMW AUTOSAR Core.
*
*  \project     BMW Platform Software
*
*  \copyright   BMW AG 2014 - 2017
*
*  \version     5.2.0
*
*  \remarks     The content of this file only serves as an example. If this
*               file is platform dependent, this shall be mentioned here.
*
*/
-->
<AUTOSAR xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_4-2-2_STRICT_COMPACT.xsd">
  <AR-PACKAGES>
    <AR-PACKAGE>
      <SHORT-NAME>BMW</SHORT-NAME>
      <AR-PACKAGES>
        <AR-PACKAGE>
          <SHORT-NAME>Platform</SHORT-NAME>
          <AR-PACKAGES>
            <AR-PACKAGE>
              <SHORT-NAME>Omc</SHORT-NAME>
              <AR-PACKAGES>
                <AR-PACKAGE>
                  <SHORT-NAME>PortInterfaces</SHORT-NAME>
                  <ELEMENTS>
                    <CLIENT-SERVER-INTERFACE>
                      <SHORT-NAME>OmcModesCallouts</SHORT-NAME>
                      <IS-SERVICE>false</IS-SERVICE>
                      <OPERATIONS>
                        <CLIENT-SERVER-OPERATION>
                          <SHORT-NAME>AllowOpModeSwitch</SHORT-NAME>
                          <ARGUMENTS>
                            <ARGUMENT-DATA-PROTOTYPE>
                              <SHORT-NAME>OperatingMode</SHORT-NAME>
                              <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_OperatingModeType</TYPE-TREF>
                              <DIRECTION>IN</DIRECTION>
                              <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                            </ARGUMENT-DATA-PROTOTYPE>
                            <ARGUMENT-DATA-PROTOTYPE>
                              <SHORT-NAME>ExtendedOperatingMode</SHORT-NAME>
                              <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_ExtendedOperatingModeType</TYPE-TREF>
                              <DIRECTION>IN</DIRECTION>
                              <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                            </ARGUMENT-DATA-PROTOTYPE>
                            <ARGUMENT-DATA-PROTOTYPE>
                              <SHORT-NAME>NewOperatingMode</SHORT-NAME>
                              <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_OperatingModeType</TYPE-TREF>
                              <DIRECTION>IN</DIRECTION>
                              <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                            </ARGUMENT-DATA-PROTOTYPE>
                            <ARGUMENT-DATA-PROTOTYPE>
                              <SHORT-NAME>NewExtendedOperatingMode</SHORT-NAME>
                              <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_ExtendedOperatingModeType</TYPE-TREF>
                              <DIRECTION>IN</DIRECTION>
                              <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                            </ARGUMENT-DATA-PROTOTYPE>
                          </ARGUMENTS>
                          <POSSIBLE-ERROR-REFS>
                            <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/PortInterfaces/OmcModesCallouts/E_NOT_OK</POSSIBLE-ERROR-REF>
                            <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/PortInterfaces/OmcModesCallouts/E_RUNNING</POSSIBLE-ERROR-REF>
                          </POSSIBLE-ERROR-REFS>
                        </CLIENT-SERVER-OPERATION>
                        <CLIENT-SERVER-OPERATION>
                          <SHORT-NAME>OpModeSwitchCancelled</SHORT-NAME>
                          <ARGUMENTS>
                            <ARGUMENT-DATA-PROTOTYPE>
                              <SHORT-NAME>OperatingMode</SHORT-NAME>
                              <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_OperatingModeType</TYPE-TREF>
                              <DIRECTION>IN</DIRECTION>
                              <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                            </ARGUMENT-DATA-PROTOTYPE>
                            <ARGUMENT-DATA-PROTOTYPE>
                              <SHORT-NAME>ExtendedOperatingMode</SHORT-NAME>
                              <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_ExtendedOperatingModeType</TYPE-TREF>
                              <DIRECTION>IN</DIRECTION>
                              <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                            </ARGUMENT-DATA-PROTOTYPE>
                            <ARGUMENT-DATA-PROTOTYPE>
                              <SHORT-NAME>RequestedOperatingMode</SHORT-NAME>
                              <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_OperatingModeType</TYPE-TREF>
                              <DIRECTION>IN</DIRECTION>
                              <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                            </ARGUMENT-DATA-PROTOTYPE>
                            <ARGUMENT-DATA-PROTOTYPE>
                              <SHORT-NAME>RequestedExtendedOperatingMode</SHORT-NAME>
                              <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_ExtendedOperatingModeType</TYPE-TREF>
                              <DIRECTION>IN</DIRECTION>
                              <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                            </ARGUMENT-DATA-PROTOTYPE>
                          </ARGUMENTS>
                          <POSSIBLE-ERROR-REFS>
                            <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/PortInterfaces/OmcModesCallouts/E_OK</POSSIBLE-ERROR-REF>
                            <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/PortInterfaces/OmcModesCallouts/E_RUNNING</POSSIBLE-ERROR-REF>
                          </POSSIBLE-ERROR-REFS>
                        </CLIENT-SERVER-OPERATION>
                      </OPERATIONS>
                      <POSSIBLE-ERRORS>
                      <APPLICATION-ERROR>
                          <SHORT-NAME>E_OK</SHORT-NAME>
                          <ERROR-CODE>0</ERROR-CODE>
                        </APPLICATION-ERROR>
                        <APPLICATION-ERROR>
                          <SHORT-NAME>E_NOT_OK</SHORT-NAME>
                          <ERROR-CODE>1</ERROR-CODE>
                        </APPLICATION-ERROR>
                        <APPLICATION-ERROR>
                          <SHORT-NAME>E_RUNNING</SHORT-NAME>
                          <ERROR-CODE>10</ERROR-CODE>
                        </APPLICATION-ERROR>
                      </POSSIBLE-ERRORS>
                    </CLIENT-SERVER-INTERFACE>
                    <CLIENT-SERVER-INTERFACE>
                      <SHORT-NAME>OmcModesCalloutsResult</SHORT-NAME>
                      <IS-SERVICE>false</IS-SERVICE>
                      <OPERATIONS>
                        <CLIENT-SERVER-OPERATION>
                          <SHORT-NAME>OpModeSwitchAllowedResult</SHORT-NAME>
                          <ARGUMENTS>
                            <ARGUMENT-DATA-PROTOTYPE>
                              <SHORT-NAME>Result</SHORT-NAME>
                              <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/boolean</TYPE-TREF>
                              <DIRECTION>IN</DIRECTION>
                              <SERVER-ARGUMENT-IMPL-POLICY>USE-ARGUMENT-TYPE</SERVER-ARGUMENT-IMPL-POLICY>
                            </ARGUMENT-DATA-PROTOTYPE>
                          </ARGUMENTS>
                          <POSSIBLE-ERROR-REFS>
                            <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/PortInterfaces/OmcModesCalloutsResult/E_OK</POSSIBLE-ERROR-REF>
                          </POSSIBLE-ERROR-REFS>
                        </CLIENT-SERVER-OPERATION>
                        <CLIENT-SERVER-OPERATION>
                          <SHORT-NAME>OpModeSwitchCancelledAck</SHORT-NAME>
                          <ARGUMENTS/>
                          <POSSIBLE-ERROR-REFS>
                            <POSSIBLE-ERROR-REF DEST="APPLICATION-ERROR">/BMW/Platform/Omc/PortInterfaces/OmcModesCalloutsResult/E_OK</POSSIBLE-ERROR-REF>
                          </POSSIBLE-ERROR-REFS>
                        </CLIENT-SERVER-OPERATION>
                      </OPERATIONS>
                      <POSSIBLE-ERRORS>
                        <APPLICATION-ERROR>
                          <SHORT-NAME>E_OK</SHORT-NAME>
                          <ERROR-CODE>0</ERROR-CODE>
                        </APPLICATION-ERROR>
                      </POSSIBLE-ERRORS>
                    </CLIENT-SERVER-INTERFACE>
                    <MODE-SWITCH-INTERFACE>
                      <SHORT-NAME>ExtendedOperatingModeNotification</SHORT-NAME>
                      <INTRODUCTION>
                        <TRACE>
                          <SHORT-NAME>Omc_ReqTrace_001</SHORT-NAME>
                          <CATEGORY>SPECIFICATION_ITEM</CATEGORY>
                          <TRACE-REFS>
                            <TRACE-REF DEST="TRACEABLE">DK_T3_1917</TRACE-REF>
                            <TRACE-REF DEST="TRACEABLE">FZM_SC_SYS_PA_332</TRACE-REF>
                            <TRACE-REF DEST="TRACEABLE">FZM_SC_SYS_PA_173</TRACE-REF>
                            <TRACE-REF DEST="TRACEABLE">FZM_SC_SYS_PA_333</TRACE-REF>
                          </TRACE-REFS>
                        </TRACE>
                      </INTRODUCTION>
                      <IS-SERVICE>false</IS-SERVICE>
                      <MODE-GROUP>
                        <SHORT-NAME>currentExtendedOperatingMode</SHORT-NAME>
                        <TYPE-TREF DEST="MODE-DECLARATION-GROUP">/BMW/Platform/Omc/ModeDeclarationGroups/OmcExtendedOperatingMode</TYPE-TREF>
                      </MODE-GROUP>
                    </MODE-SWITCH-INTERFACE>
                    <MODE-SWITCH-INTERFACE>
                      <SHORT-NAME>ILifeCycle</SHORT-NAME>
                      <IS-SERVICE>false</IS-SERVICE>
                      <MODE-GROUP>
                        <SHORT-NAME>Mode</SHORT-NAME>
                        <TYPE-TREF DEST="MODE-DECLARATION-GROUP">/BMW/Platform/Omc/ModeDeclarationGroups/Omc_LifeCycle</TYPE-TREF>
                      </MODE-GROUP>
                    </MODE-SWITCH-INTERFACE>
                    <SENDER-RECEIVER-INTERFACE>
                      <SHORT-NAME>ILifeCycleRequest</SHORT-NAME>
                      <IS-SERVICE>true</IS-SERVICE>
                      <DATA-ELEMENTS>
                        <VARIABLE-DATA-PROTOTYPE>
                          <SHORT-NAME>requestMode</SHORT-NAME>
                          <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_LifeCycleRequestType</TYPE-TREF>
                        </VARIABLE-DATA-PROTOTYPE>
                      </DATA-ELEMENTS>
                      <INVALIDATION-POLICYS />
                    </SENDER-RECEIVER-INTERFACE>
                    <MODE-SWITCH-INTERFACE>
                      <SHORT-NAME>OperatingModeNotification</SHORT-NAME>
                      <INTRODUCTION>
                        <TRACE>
                          <SHORT-NAME>Omc_ReqTrace_002</SHORT-NAME>
                          <CATEGORY>SPECIFICATION_ITEM</CATEGORY>
                          <TRACE-REFS>
                            <TRACE-REF DEST="TRACEABLE">DK_T3_1917</TRACE-REF>
                            <TRACE-REF DEST="TRACEABLE">DK_T3_1919</TRACE-REF>
                            <TRACE-REF DEST="TRACEABLE">DK_T3_1920</TRACE-REF>
                            <TRACE-REF DEST="TRACEABLE">FZM_SC_SYS_PA_172</TRACE-REF>
                          </TRACE-REFS>
                        </TRACE>
                      </INTRODUCTION>
                      <IS-SERVICE>false</IS-SERVICE>
                      <MODE-GROUP>
                        <SHORT-NAME>currentOperatingMode</SHORT-NAME>
                        <TYPE-TREF DEST="MODE-DECLARATION-GROUP">/BMW/Platform/Omc/ModeDeclarationGroups/OmcOperatingMode</TYPE-TREF>
                      </MODE-GROUP>
                    </MODE-SWITCH-INTERFACE>
                  </ELEMENTS>
                </AR-PACKAGE>
                <AR-PACKAGE>
                  <SHORT-NAME>ModeDeclarationGroups</SHORT-NAME>
                  <ELEMENTS>
                    <MODE-DECLARATION-GROUP>
                      <SHORT-NAME>OmcExtendedOperatingMode</SHORT-NAME>
                      <CATEGORY>EXPLICIT_ORDER</CATEGORY>
                      <INTRODUCTION>
                        <TRACE>
                          <SHORT-NAME>FZM_SC_SYS_PA_328</SHORT-NAME>
                          <CATEGORY>SPECIFICATION_ITEM</CATEGORY>
                          <TRACE-REFS>
                            <TRACE-REF DEST="TRACEABLE">FZM_SC_SYS_PA_328</TRACE-REF>
                          </TRACE-REFS>
                        </TRACE>
                      </INTRODUCTION>
                      <INITIAL-MODE-REF DEST="MODE-DECLARATION">/BMW/Platform/Omc/ModeDeclarationGroups/OmcExtendedOperatingMode/OMC_MODE_EXTENSION_NORMAL</INITIAL-MODE-REF>
                      <MODE-DECLARATIONS>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_NORMAL</SHORT-NAME>
                          <VALUE>0</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_1</SHORT-NAME>
                          <VALUE>1</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_2</SHORT-NAME>
                          <VALUE>2</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_3</SHORT-NAME>
                          <VALUE>3</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_4</SHORT-NAME>
                          <VALUE>4</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_5</SHORT-NAME>
                          <VALUE>5</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_6</SHORT-NAME>
                          <VALUE>6</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_7</SHORT-NAME>
                          <VALUE>7</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_8</SHORT-NAME>
                          <VALUE>8</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_9</SHORT-NAME>
                          <VALUE>9</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_10</SHORT-NAME>
                          <VALUE>10</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_11</SHORT-NAME>
                          <VALUE>11</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_12</SHORT-NAME>
                          <VALUE>12</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_13</SHORT-NAME>
                          <VALUE>13</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_14</SHORT-NAME>
                          <VALUE>14</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_SAVE_ENERGY</SHORT-NAME>
                          <VALUE>15</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_EXTENSION_INVALID</SHORT-NAME>
                          <VALUE>255</VALUE>
                        </MODE-DECLARATION>
                      </MODE-DECLARATIONS>
                      <ON-TRANSITION-VALUE>254</ON-TRANSITION-VALUE>
                    </MODE-DECLARATION-GROUP>
                    <MODE-DECLARATION-GROUP>
                      <SHORT-NAME>OmcOperatingMode</SHORT-NAME>
                      <CATEGORY>EXPLICIT_ORDER</CATEGORY>
                      <INTRODUCTION>
                        <TRACE>
                          <SHORT-NAME>FZM_SC_SYS_PA_168</SHORT-NAME>
                          <CATEGORY>SPECIFICATION_ITEM</CATEGORY>
                          <TRACE-REFS>
                            <TRACE-REF DEST="TRACEABLE">FZM_SC_SYS_PA_168</TRACE-REF>
                          </TRACE-REFS>
                        </TRACE>
                      </INTRODUCTION>
                      <INITIAL-MODE-REF DEST="MODE-DECLARATION">/BMW/Platform/Omc/ModeDeclarationGroups/OmcOperatingMode/OMC_MODE_NORMAL</INITIAL-MODE-REF>
                      <MODE-DECLARATIONS>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_NORMAL</SHORT-NAME>
                          <VALUE>0</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_ASSEMBLY</SHORT-NAME>
                          <VALUE>1</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_TRANSPORT</SHORT-NAME>
                          <VALUE>2</VALUE>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_MODE_BMW_FLASH</SHORT-NAME>
                          <VALUE>3</VALUE>
                        </MODE-DECLARATION>
                      </MODE-DECLARATIONS>
                      <ON-TRANSITION-VALUE>255</ON-TRANSITION-VALUE>
                    </MODE-DECLARATION-GROUP>
                    <MODE-DECLARATION-GROUP>
                      <SHORT-NAME>Omc_LifeCycle</SHORT-NAME>
                      <INITIAL-MODE-REF DEST="MODE-DECLARATION">/BMW/Platform/Omc/ModeDeclarationGroups/Omc_LifeCycle/OMC_STOPPED</INITIAL-MODE-REF>
                      <MODE-DECLARATIONS>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_INITIALIZED</SHORT-NAME>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_RUNNING</SHORT-NAME>
                        </MODE-DECLARATION>
                        <MODE-DECLARATION>
                          <SHORT-NAME>OMC_STOPPED</SHORT-NAME>
                        </MODE-DECLARATION>
                      </MODE-DECLARATIONS>
                    </MODE-DECLARATION-GROUP>
                  </ELEMENTS>
                </AR-PACKAGE>
                <AR-PACKAGE>
                  <SHORT-NAME>ImplementationDataTypes</SHORT-NAME>
                  <ELEMENTS>
                    <IMPLEMENTATION-DATA-TYPE>
                      <SHORT-NAME>Omc_ExtendedOperatingModeType</SHORT-NAME>
                      <CATEGORY>TYPE_REFERENCE</CATEGORY>
                      <SW-DATA-DEF-PROPS>
                        <SW-DATA-DEF-PROPS-VARIANTS>
                          <SW-DATA-DEF-PROPS-CONDITIONAL>
                            <ANNOTATIONS />
                            <COMPU-METHOD-REF DEST="COMPU-METHOD">/BMW/Platform/Omc/CompuMethods/CM_ExtendedOperatingModeType</COMPU-METHOD-REF>
                            <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</IMPLEMENTATION-DATA-TYPE-REF>
                            <SW-IMPL-POLICY>STANDARD</SW-IMPL-POLICY>
                          </SW-DATA-DEF-PROPS-CONDITIONAL>
                        </SW-DATA-DEF-PROPS-VARIANTS>
                      </SW-DATA-DEF-PROPS>
                    </IMPLEMENTATION-DATA-TYPE>
                    <IMPLEMENTATION-DATA-TYPE>
                      <SHORT-NAME>Omc_OperatingModeType</SHORT-NAME>
                      <CATEGORY>TYPE_REFERENCE</CATEGORY>
                      <SW-DATA-DEF-PROPS>
                        <SW-DATA-DEF-PROPS-VARIANTS>
                          <SW-DATA-DEF-PROPS-CONDITIONAL>
                            <ANNOTATIONS />
                            <COMPU-METHOD-REF DEST="COMPU-METHOD">/BMW/Platform/Omc/CompuMethods/CM_OperatingModeType</COMPU-METHOD-REF>
                            <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</IMPLEMENTATION-DATA-TYPE-REF>
                            <SW-IMPL-POLICY>STANDARD</SW-IMPL-POLICY>
                          </SW-DATA-DEF-PROPS-CONDITIONAL>
                        </SW-DATA-DEF-PROPS-VARIANTS>
                      </SW-DATA-DEF-PROPS>
                    </IMPLEMENTATION-DATA-TYPE>
                    <IMPLEMENTATION-DATA-TYPE>
                      <SHORT-NAME>Omc_LifeCycleRequestType</SHORT-NAME>
                      <CATEGORY>TYPE_REFERENCE</CATEGORY>
                      <SW-DATA-DEF-PROPS>
                        <SW-DATA-DEF-PROPS-VARIANTS>
                          <SW-DATA-DEF-PROPS-CONDITIONAL>
                            <ANNOTATIONS />
                            <COMPU-METHOD-REF DEST="COMPU-METHOD">/BMW/Platform/Omc/CompuMethods/CM_LifeCycleRequest</COMPU-METHOD-REF>
                            <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/AUTOSAR_Platform/ImplementationDataTypes/uint8</IMPLEMENTATION-DATA-TYPE-REF>
                            <SW-IMPL-POLICY>STANDARD</SW-IMPL-POLICY>
                          </SW-DATA-DEF-PROPS-CONDITIONAL>
                        </SW-DATA-DEF-PROPS-VARIANTS>
                      </SW-DATA-DEF-PROPS>
                    </IMPLEMENTATION-DATA-TYPE>
                  </ELEMENTS>
                </AR-PACKAGE>
                <AR-PACKAGE>
                  <SHORT-NAME>DataTypeMappingSets</SHORT-NAME>
                  <ELEMENTS>
                    <DATA-TYPE-MAPPING-SET>
                      <SHORT-NAME>Omc_DataTypeMappingSets</SHORT-NAME>
                      <DATA-TYPE-MAPS />
                      <MODE-REQUEST-TYPE-MAPS>
                        <MODE-REQUEST-TYPE-MAP>
                          <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_OperatingModeType</IMPLEMENTATION-DATA-TYPE-REF>
                          <MODE-GROUP-REF DEST="MODE-DECLARATION-GROUP">/BMW/Platform/Omc/ModeDeclarationGroups/OmcOperatingMode</MODE-GROUP-REF>
                        </MODE-REQUEST-TYPE-MAP>
                        <MODE-REQUEST-TYPE-MAP>
                          <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_ExtendedOperatingModeType</IMPLEMENTATION-DATA-TYPE-REF>
                          <MODE-GROUP-REF DEST="MODE-DECLARATION-GROUP">/BMW/Platform/Omc/ModeDeclarationGroups/OmcExtendedOperatingMode</MODE-GROUP-REF>
                        </MODE-REQUEST-TYPE-MAP>
                        <MODE-REQUEST-TYPE-MAP>
                          <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/BMW/Platform/Omc/ImplementationDataTypes/Omc_LifeCycleRequestType</IMPLEMENTATION-DATA-TYPE-REF>
                          <MODE-GROUP-REF DEST="MODE-DECLARATION-GROUP">/BMW/Platform/Omc/ModeDeclarationGroups/Omc_LifeCycle</MODE-GROUP-REF>
                        </MODE-REQUEST-TYPE-MAP>
                      </MODE-REQUEST-TYPE-MAPS>
                    </DATA-TYPE-MAPPING-SET>
                  </ELEMENTS>
                </AR-PACKAGE>
                <AR-PACKAGE>
                  <SHORT-NAME>CompuMethods</SHORT-NAME>
                  <ELEMENTS>
                    <COMPU-METHOD>
                      <SHORT-NAME>CM_OperatingModeType</SHORT-NAME>
                      <CATEGORY>TEXTTABLE</CATEGORY>
                      <COMPU-INTERNAL-TO-PHYS>
                        <COMPU-SCALES>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">0</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_NORMAL</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">1</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">1</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_ASSEMBLY</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">2</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">2</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_TRANSPORT</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">3</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">3</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_BMW_FLASH</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                        </COMPU-SCALES>
                      </COMPU-INTERNAL-TO-PHYS>
                    </COMPU-METHOD>
                    <COMPU-METHOD>
                      <SHORT-NAME>CM_ExtendedOperatingModeType</SHORT-NAME>
                      <CATEGORY>TEXTTABLE</CATEGORY>
                      <COMPU-INTERNAL-TO-PHYS>
                        <COMPU-SCALES>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">0</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_NORMAL</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">1</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">1</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_1</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">2</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">2</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_2</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">3</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">3</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_3</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">4</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">4</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_4</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">5</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">5</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_5</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">6</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">6</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_6</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">7</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">7</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_7</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">8</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">8</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_8</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">9</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">9</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_9</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">10</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">10</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_10</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">11</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">11</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_11</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">12</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">12</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_12</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">13</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">13</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_13</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">14</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">14</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_14</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">15</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">15</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_SAVE_ENERGY</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">255</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">255</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_MODE_EXTENSION_INVALID</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                        </COMPU-SCALES>
                      </COMPU-INTERNAL-TO-PHYS>
                    </COMPU-METHOD>
                    <COMPU-METHOD>
                      <SHORT-NAME>CM_LifeCycleRequest</SHORT-NAME>
                      <CATEGORY>TEXTTABLE</CATEGORY>
                      <COMPU-INTERNAL-TO-PHYS>
                        <COMPU-SCALES>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">0</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_INITIALIZED</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">1</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">1</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_RUNNING</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                          <COMPU-SCALE>
                            <LOWER-LIMIT INTERVAL-TYPE="CLOSED">2</LOWER-LIMIT>
                            <UPPER-LIMIT INTERVAL-TYPE="CLOSED">2</UPPER-LIMIT>
                            <COMPU-CONST>
                              <VT>OMC_STOPPED</VT>
                            </COMPU-CONST>
                          </COMPU-SCALE>
                        </COMPU-SCALES>
                      </COMPU-INTERNAL-TO-PHYS>
                    </COMPU-METHOD>
                  </ELEMENTS>
                </AR-PACKAGE>
              </AR-PACKAGES>
            </AR-PACKAGE>
          </AR-PACKAGES>
        </AR-PACKAGE>
      </AR-PACKAGES>
    </AR-PACKAGE>
  </AR-PACKAGES>
</AUTOSAR>
